package cn.csc.module.distribute.controller.app.weixin.vo;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;

/**
 * @author liuchuang
 * @version 1.0
 * @modify
 * @since 2025/4/21 14:27
 */
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class WxaCodeUnlimitReqVO {

    /**
     * 最大32个可见字符，只支持数字，大小写英文以及部分特殊字符：!#$&'()*+,/:;=?@-._~， 其它字符请自行编码为合法字符（因不支持%，中文无法使用 urlencode 处理，请使用其他编码方式）
     */
    private String scene;
    /**
     * 必须是已经发布的小程序页面，例如 "pages/index/index" ,如果不填写这个字段，默认跳主页面
     */
    @NotEmpty(message = "小程序页面参数不能为空")
    private String page;
    /**
     * 默认true 检查 page 是否存在，为 true 时 page 必须是已经发布的小程序存在的页面（否则报错）； 为 false 时允许小程序未发布或者 page 不存在，但 page 有数量上限（60000个）请勿滥用
     */
    private boolean checkPath = true;
    /**
     * 默认"release" 要打开的小程序版本。正式版为 "release"，体验版为 "trial"，开发版为 "develop"
     */
    private String envVersion = "release";
    /**
     * 默认430 二维码的宽度
     */
    private int width = 430;
    /**
     * 默认true 自动配置线条颜色，如果颜色依然是黑色，则说明不建议配置主色调
     */
    private boolean autoColor = true;
    /**
     * autoColor 为 false 时生效，使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"}
     */
    private String lineColor;
    /**
     * 是否需要透明底色， is_hyaline 为true时，生成透明底色的小程序码
     */
    private boolean isHyaline;

}
